{
 "metadata": {
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.2"
  },
  "orig_nbformat": 2,
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3",
   "language": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2,
 "cells": [
  {
   "source": [
    "# `if` 语句"
   ],
   "cell_type": "markdown",
   "metadata": {}
  },
  {
   "source": [
    "- 语法：\n",
    "    1. `if 条件表达式　: 语句`\n",
    "    2. ```python\n",
    "       if 条件表达式:\n",
    "           代码块\n",
    "       ```\n",
    "- 流程： `if` 语句在执行时，会先对条件表达式进行求值判断\n",
    "    - 如果为 `True`，则执行 `:` 后的语句\n",
    "    - 如果为 `False`，则不执行 `:` 后的语句\n",
    "- 默认情况下， `if` 语句只会控制紧随其后的那条语句\n",
    "- 如果希望 `if` 可以控制多条语句，则可以在 `if` 后跟着一个代码块"
   ],
   "cell_type": "markdown",
   "metadata": {}
  },
  {
   "source": [
    "## 代码块\n",
    "\n",
    "- 代码块保存着一组代码，同一个代码块中的代码，要么都执行、要么都不执行\n",
    "- 代码块就是一种代码分组机制\n",
    "- 如果要编写代码块，语句就不能紧随 `:` 其后，而是要写在下一行\n",
    "- 代码块以缩进开始，直到代码恢复到之前的一个缩进级别时结束\n",
    "- 缩进的两种方式：\n",
    "    1. `tab` 键\n",
    "    2. `    ` - 4 个空格（Python 文档推荐）\n",
    "- 缩进的两种方式不能混着用"
   ],
   "cell_type": "markdown",
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "if True : print('Hello')\n",
    "if False : print('World')\n",
    "\n",
    "if True:\n",
    "    print('Hello')\n",
    "    print('World')\n",
    "\n",
    "if False:\n",
    "    print('Hello')\n",
    "    print('World')\n",
    "\n",
    "print('Hello')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = 10\n",
    "if a > 0 and a < 20:\n",
    "    print('a = %d > 0 且 < 20'%a)"
   ]
  },
  {
   "source": [
    "## 练习"
   ],
   "cell_type": "markdown",
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "name = input('user name: ')\n",
    "\n",
    "if name == 'admin':\n",
    "    print(f'Welcome {name}!')"
   ]
  }
 ]
}